.\"
.\" Initial implementation:
.\" Copyright (c) 2002 Robert Drehmel
.\" All rights reserved.
.\"
.\" As long as the above copyright statement and this notice remain
.\" unchanged, you can do what ever you want with this file.
.\"
.\" $FreeBSD: src/lib/libc/stdlib/insque.3,v 1.3 2003/02/25 21:59:36 robert Exp $
.\"
.Dd October 10, 2002
.Dt INSQUE 3
.Os
.Sh NAME
.Nm insque ,
.Nm remque
.Nd doubly-linked list management
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In search.h
.Ft void
.Fn insque "void *element" "void *pred"
.Ft void
.Fn remque "void *element"
.Sh DESCRIPTION
The
.Fn insque
and
.Fn remque
functions encapsulate the ever-repeating task of doing insertion and
removal operations on doubly linked lists.
The functions expect their
arguments to point to a structure whose first and second members are
pointers to the next and previous element, respectively.
The
.Fn insque
function also allows the
.Fa pred
argument to be a
.Dv NULL
pointer for the initialization of a new list's
head element.
.Sh STANDARDS
The
.Fn insque
and
.Fn remque
functions conform to
.St -p1003.1-2001 .
.Sh HISTORY
The
.Fn insque
and
.Fn remque
functions appeared in
.Bx 4.2 .
In
.Fx 5.0 ,
they reappeared conforming to
.St -p1003.1-2001 .
